home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Development
/
Source
/
PlainText
/
PlainText.h
< prev
next >
Wrap
Text File
|
1994-02-01
|
9KB
|
330 lines
#ifndef __DEFINES__
#define __DEFINES__
#ifdef __REDUMP__
/*-------------------------------- Defines -------------------------------*/
#define NIL 0L
#define TRUE 1
#define FALSE 0
#define LEFTARROW 28
#define RIGHTARROW 29
#define UPARROW 30
#define DOWNARROW 31
#define TAB '\t'
#define DELETE 0x08
#define RETURN 0x0D
#define ENTER 0x03
#define LINEFEED 0x0A
#define iYes 1
#define iNo 3
#define iCancel 2
#define kMaxShort 32767
/* File Menu Items */
#define iNew 1
#define iOpen 2
#define iClose 4
#define iSave 5
#define iSaveAs 6
#define iSaveACopy 7
#define iRevert 8
#define iPageSetup 10
#define iPrint 11
#define iQuit 13
/* Edit Menu Items */
#define iUndo 1
#define iCut 3
#define iCopy 4
#define iPaste 5
#define iClear 6
#define iSelectAll 8
#define iShowClipboard 9
#define iFormat 11
#define iAlign 13
#define iShiftRight 14
#define iShiftLeft 15
#define iWorksheet 17
/* Find Menu Items */
#define iFind 1
#define iFindSame 2
#define iFindSelection 3
#define iDisplaySelection 4
#define iReplace 6
#define iReplaceSame 7
/* Mark Menu Items */
#define iMark 1
#define iUnmark 2
#define iAlphabetical 3
/* Window Menu Items */
#define iTileWindows 1
#define iStackWindows 2
/* Convert Menu Items */
#define iStr2Curly 1
#define iCurly2Str 2
#define iAddLf 4
#define iStripLf 5
#define iCRtoLF 6
#define iLFtoCR 7
#define iFormParagraphs 9
#define iWWtoWindow 10
#define iWWtoLength 11
#define iTabstoSpaces 13
#define iSpacestoTabs 14
/* Printing Parameters */
#define LeftMargin 36
#define TopMargin 36
#define BottomMargin 36
#define gMyScrpHandle TE32KScrpHandle
#define gMyScrpLength TE32KScrpLength
#define MAXWINDS 10
#define nullStopMask 0
#define rProcessFilesDialog 132
#define rMoreOptions 134
#define rRequestDialog 135
#define rUnmarkDialog 136
#define rConfirmDialog 141
#define rRoseParameters 142
#define rConfigureDataPage 143
#define TitlePageDialog 138
#define DataPageDialog 139
#define MessageDialog 258
#define DESK_ID 128
#define FILE_ID 129
#define EDIT_ID 130
#define FIND_ID 131
#define MARK_ID 132
#define WINDOW_ID 133
#define CONVERT_ID 134
#define Sys6Glues 1
/*----------------------------- Errors ---------------------------------*/
#define OutOfMemory -1
#define DiskErr -2
#define PagingError -3
/*----------------------------- TypeDefs ---------------------------------*/
typedef void(*EventMethod)(WindowPtr, EventRecord *) ;
typedef void(*WindowMethod)(WindowPtr) ;
typedef void(*RectMethod)(WindowPtr, Rect *) ;
typedef int(*IntMethod)(WindowPtr) ;
/*-------------------- Scrolling Document Record -------------------*/
struct DocumentRecord {
DialogRecord docWindow;
ControlHandle hScroll;
ControlHandle vScroll;
short hOffset,vOffset;
Handle docData;
OSType fDocType;
FSSpec fileSpecs;
short windResource;
long dataPathRefNum;
long resourcePathRefNum;
THPrint fPrintRecord;
Boolean fFileOpen;
Boolean fDocWindow;
Boolean fNeedtoSave;
Boolean fNeedtoUpdateMarks;
Boolean fNeedtoSaveAs;
Boolean fHaveSelection;
Boolean fCanUndo;
Boolean fReadOnly;
Rect limitRect;
ProcPtr docClik;
WindowPtr homeWindow;
WindowPtr associatedWindow;
Handle marks;
Handle windowState;
MenuHandle markMenu;
Boolean (*makeWindow)(WindowPtr);
Boolean (*initDoc)(WindowPtr);
Boolean (*openDocFile)(WindowPtr);
WindowMethod destructor;
/* Event actions */
EventMethod doTheUpdate;
void(*draw)(WindowPtr,Rect *,short);
EventMethod doActivate;
WindowMethod activate;
WindowMethod deactivate;
EventMethod doContent;
EventMethod doKeyDown;
WindowMethod doIdle;
void(*adjustCursor)(WindowPtr,Point);
EventMethod doGrow;
void(*doZoom)(WindowPtr,short);
/* Edit menu and clipboard functions */
Boolean (*doDocMenuCommand)(WindowPtr,short,short,short);
WindowMethod adjustDocMenus;
WindowMethod doCut;
WindowMethod doCopy;
WindowMethod doPaste;
WindowMethod doClear;
WindowMethod doSelectAll;
WindowMethod doUndo;
IntMethod readDocFile;
IntMethod writeDocFile;
IntMethod writeDocResourceFork;
WindowMethod doPageSetup;
WindowMethod doPrint;
/* Scrolling methods */
WindowMethod focusOnContent;
WindowMethod focusOnWindow;
WindowMethod adjustScrollBars;
short(*getVertSize)(WindowPtr);
short(*getHorizSize)(WindowPtr);
short(*getVertLineScrollAmount)(WindowPtr);
short(*getHorizLineScrollAmount)(WindowPtr);
short(*getVertPageScrollAmount)(WindowPtr);
short(*getHorizPageScrollAmount)(WindowPtr);
WindowMethod displaySelection;
void(*scrollContents)(WindowPtr,short,short);
WindowMethod setScrollBarValues;
RectMethod getContentRect;
} ;
typedef struct DocumentRecord DocumentRecord;
typedef DocumentRecord *DocumentPeek;
typedef struct {
long selStart;
long selEnd;
char label;
} MarkRec, *MarkRecPtr;
typedef struct { /* MPSR 1005 */
short fontSize;
char fontName[32];
short fontWidth; /* 0006 */
short tabWidth; /* 0004 */
Rect userState;
Rect stdState;
unsigned long modifiedDate;
long selStart;
long selEnd;
long vScrollValue;
unsigned char wordWrap;
unsigned char showInvisibles;
} MPSRWindowResource, *MPSRPtr;
struct AEinstalls {
AEEventClass theClass;
AEEventID theEvent;
EventHandlerProcPtr theProc;
};
typedef struct AEinstalls AEinstalls;
/*--------------------------- Declarations --------------------------------*/
extern int DoClose(WindowPtr);
extern int DoSave(WindowPtr);
extern int DoSaveAs(WindowPtr);
extern int DoSaveACopy(WindowPtr);
extern int DoRevert(WindowPtr);
extern char *ConditionFileName(char *);
extern DocumentPeek MakeDoc(OSType, FSSpecPtr);
extern pascal void doButton(DialogPtr,short);
extern Boolean openDocFile(WindowPtr);
extern void ShowDocWindow(WindowPtr);
extern void CloseDocFile(DocumentPeek);
extern void DeleteDoc(DocumentPeek);
extern void AdjustMenus(WindowPtr);
extern void FatalError(void);
extern WindowPtr TargetWindow(void);
extern WindowPtr FrontLayer(void);
extern WindowPtr OpenNamedFile(Str255);
extern MarkRecPtr GetIndMark(Ptr, short);
extern void UpdateMarks(DocumentPeek,long,long,long,long);
extern void InsertMark(DocumentPeek,int,int,char *);
extern void DoUnmark(DocumentPeek,int,int);
extern void UpdateList (ListHandle);
extern void SizeScrollBars(WindowPtr);
extern Boolean SetTERect(WindowPtr);
extern pascal OSErr glueFSMakeFSSpec(short,long,ConstStr255Param,FSSpecPtr);
extern pascal void glueStandardGetFile(FileFilterProcPtr,short, SFTypeList, StandardFileReply *);
extern pascal void glueStandardPutFile(ConstStr255Param,ConstStr255Param, StandardFileReply *);
extern OSErr GetVolRefNum(char *name,short *volID);
extern pascal Boolean DialogStandardKeyDown(DialogPtr, EventRecord *, short *);
extern void doDiagnosticMessage(short, short);
extern void StraightToCurly(WindowPtr);
extern void CurlyToStraight(WindowPtr);
extern void AddLinefeeds(WindowPtr);
extern void StripLinefeeds(WindowPtr);
extern void LinefeedstoReturns(WindowPtr);
extern void ReturnstoLinefeeds(WindowPtr);
extern void WordWrap(WindowPtr,Boolean);
extern void TabsToSpaces(WindowPtr);
extern void SpacesToTabs(WindowPtr);
extern void FormParagraphs(WindowPtr);
extern void EnTabAndShift(WindowPtr,int);
extern void SetDocWindowTitle(WindowPtr,Str255);
Boolean isEditKey(EventRecord *theEvent);
/*------------------------------ Macros ---------------------------------*/
#define sizeofMark(m) (9+((MarkRecPtr)(m))->label)
#define setDocName(doc,str) BlockMove(str,(doc)->fileSpecs.name,*str+1)
#define pascstr(str) (*((str)+*(str)='\0',(str)+1)
#define isfullpath(str) (*(str)!=':' && strchr((str)+1,':'))
#define DialogStandardFilter DialogStandardKeyDown
/*----------------------------- Method Macros ---------------------------------*/
#define AdjustScrollBars(w) (*((DocumentPeek)(w))->adjustScrollBars)(w)
#define ScrollContents(w,h,v) (*(((DocumentPeek)w)->scrollContents))(w,(h),(v))
#define DoActivate(w,e) (*((DocumentPeek)(w))->doActivate)((WindowPtr)(w),(e))
#define DoContent(w,e) (*((DocumentPeek)(w))->doContent)((WindowPtr)(w),(e))
#define DoTheUpdate(w,e) (*((DocumentPeek)(w))->doTheUpdate)((WindowPtr)(w),(e))
#define SetScrollBarValues(w) (*((DocumentPeek)(w))->setScrollBarValues)(w)
#define OpenDocFile(w) (*((DocumentPeek)(w))->openDocFile)(w)
#define WriteDocFile(w) (*((DocumentPeek)(w))->writeDocFile)(w)
#define ReadDocFile(w) (*((DocumentPeek)(w))->readDocFile)(w)
#define FocusOnContent(w) (*((DocumentPeek)(w))->focusOnContent)(w)
#define FocusOnWindow(w) (*((DocumentPeek)(w))->focusOnWindow)(w)
#define DisplaySelection(w) (*((DocumentPeek)(w))->displaySelection)(w)
#define SetMenuAbility(m,i,b) (b)?EnableItem(m,i):DisableItem(m,i)
#define RectWidth(r) (r).right-(r).left
#define RectHeight(r) (r).bottom-(r).top
#define GetContentRect(w,r) (*(((DocumentPeek)w)->getContentRect))(w,r)
#define GetVertSize(w) (*(((DocumentPeek)w)->getVertSize))(w)
#define GetHorizSize(w) (*(((DocumentPeek)w)->getHorizSize))(w)
#else
#pragma load "PTHeaders"
#endif
#endif